8
תגובות

העגלת שבר

פתח zacharya ,
יש לי מספר שבר, איך אני עושה שלא משנה מתי, וכמה השבר, הוא תמיד יעגל כלפי מטה? כלומר נגיד 3.555555 או 3.99999 או 3.22222 יהפוך ל 3 ולא 4? ניסיתי intval וזה לפעמים למעלה ולפעמים למטה, כי פשוט עשיתי חלוקה לעמודים ואני רוצה שאחרי העמודים הוא יציג את העמוד האחרון אבל אז הוא מציג לי 3.666544848

8 תשובות

avatar ענה nirbe ב 20 למאי 2013 #

$number = 3.335262635;

echo floor($number);

avatar ענה intval ב 20 למאי 2013 #

זה אומר שאתה צריך לעגל למעלה, אחרת העמוד האחרון לא יופיע בכלל.
round - לעגל לאן שמחשבון מעגל
floor - לעגל למעטה
ceil - לעגל למעלה

avatar ענה zacharya ב 21 למאי 2013 #

הכל מעגל לי למעלה, ואז נוצר לי כפתור לעמוד האחרון שבכלל לא קיים.

avatar ענה liorel100 ב 21 למאי 2013 #

העלגת זה צורת סמיכות של העגלה, שהיא השם פעולה של הפועל "עגל". אין כזה פועל, אני מניח שאתה מתכוון לפועל "עיגל", ששם הפעולה שלו הוא עיגול. לכן אמור "עיגול שבר".
ולנושא, כדי לעגל מספר ממשי x בn ספרות אחרי הנקודה העשרונית תשתמש בפונצקייה הזאת :

function Round($x,$n){
$p = pow(10,$n);
return floor($x*$p)/$p;
}

avatar ענה iiddaannyy ב 21 למאי 2013 #

ליאור, זה לא פורום לשון. אבל אם אתה כבר מזכיר את העניין, אז אתה טועה: "העגלה" היא שם הפעולה של הפועל "העגיל" (בבניין הפעיל), ולא "עגל" (בבניין קל).

וכדי לעגל שבר, תשתמש באחת מהפונקציות ceil, floor, round. אלכס כתב מה כל אחת עושה.
בוא נחשוב רגע בנושא של העמודים.
אם יש לנו 21 פריטים, ואנחנו רוצים 10 פריטים בעמוד. נעשה 21 חלקי 10 ונקבל 2.1. כלומר אנחנו צריכים לעגל כלפי מעלה (ceil) כי אנחנו רוצים 3 עמודים (עשה בעמוד הראשון, עשרה בשני ועוד פריט אחד בעמוד השלישי).

ככה שנקבל:

$itemsPerPage = 10;
$items = 21;
$pages = ceil($items / $itemsPerPage);

avatar ענה liorel100 ב 21 למאי 2013 #

טעות שלי. וחשוב שאנשים ידעו לדבר עברית נכונה. השם פעולה של "עגל" זה "עגילה".

avatar ענה zacharya ב 22 למאי 2013 #

אבל אז נוצר מצב שנוצר לי כפתור לעמוד האחרון שבכלל לא קיים.

avatar ענה iiddaannyy ב 22 למאי 2013 #

למה עמוד אחרון שלא קיים? תביא דוגמה למספר הפריטים שיש לך, כמה פריטים אתה רוצה בעמוד, כמה עמודים אתה רוצה לקבל וכמה עמודים אתה באמת מקבל.